
#include <bcm2835.h>
#include <stdio.h>
#include <signal.h>
//#include "gpio.h"
//#include "gpio.c"
#include <sys/types.h>
#include <unistd.h>


#define pin	RPI_GPIO_P1_18 //GPIO24


int main(int argc, char* argv[])
{
   
//       printf("buzzer PID=%d\n",getpid());

     //   signal(SIGUSR1,buzzer_on);
     //   signal(SIGUSR2,buzzer_off);
	
	if (!bcm2835_init())
	    return 1;

	bcm2835_gpio_fsel(pin,BCM2835_GPIO_FSEL_INPT);
	bcm2835_gpio_set_pud(pin,BCM2835_GPIO_PUD_UP);
	//bcm2835_gpio_write(pin,LOW);

       while(1)
        {
     	  int st; 
	  uint8_t value = bcm2835_gpio_lev(pin);
//           printf("value = %d \n",value);
	   if (value == 0) {
           	st++;
//		printf("st = %d\n",st);
	   } 
	   else {
		st=0;
           }
           if((st > 2) && (value == 0))
           {
		st=0;
		//printf("kill test process!!\n");
		//system("killall test");
		//system("/bin/clear_lcd");
		system("kill-all.sh");
		//system("killall palert");
		//system("/bin/buzzer 0");
		//system("killall buzzer");
		//system("/bin/run.sh");
		//system("killall test");
		system("clear_lcd");
				
           }
	 
		delay(500);      
        }

	bcm2835_close();
	return 0;
}







/*	
#if 0
      if(atoi(argv[1]) == 1) {

	GPIO_SPK(999);

       } else {
        GPIO_OUTPUT_L(pin);
	

      }

#else
     while(1) {
        pause();
	GPIO_SPK();
     }

   
#endif
    return 0;
}

void buzzer_on(int sig)
{

   buzzer_flag=1;


}

void buzzer_off(int sig)
{

   buzzer_flag=0;

}


int GPIO_SPK()
{
        GPIO_SET_INPUT(pin);
     
       while(1)
        {

           if (buzzer_flag==1) {
                GPIO_OUTPUT_H(pin);
                bcm2835_delay(200);
                GPIO_OUTPUT_L(pin);
                bcm2835_delay(200);
           } else {

                GPIO_OUTPUT_L(pin);
                break;

           }
                
        }
        
}

*/
